home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 April: Mac OS SDK / Dev.CD Apr 00 SDK1.toast / Development Kits / Mac OS / Appearance SDK 1.0.4 / Appearance Sample Code / Headers / RIncludes / Dialogs.r < prev    next >
Encoding:
Text File  |  1999-07-16  |  9.1 KB  |  341 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Dialogs.r
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    Appearance 1.0.2
  7.                  Release:    To be used with Unversal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1985-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18.  
  19. #ifndef __DIALOGS_R__
  20. #define __DIALOGS_R__
  21.  
  22. #ifndef __CONDITIONALMACROS_R__
  23. #include "ConditionalMacros.r"
  24. #endif
  25.  
  26. #ifndef __MACWINDOWS_R__
  27. #include "MacWindows.r"        /* for 'wctb' */
  28. #endif
  29.  
  30.                                                             /*  Alert types to pass into StandardAlert  */
  31. #define kAlertStopAlert                 0
  32. #define kAlertNoteAlert                 1
  33. #define kAlertCautionAlert                 2
  34. #define kAlertPlainAlert                 3
  35.  
  36. #define kAlertDefaultOKText             (-1)                /*  "OK" */
  37. #define kAlertDefaultCancelText         (-1)                /*  "Cancel" */
  38. #define kAlertDefaultOtherText             (-1)                /*  "Don't Save" */
  39.  
  40. #define kAlertStdAlertOKButton             1
  41. #define kAlertStdAlertCancelButton         2
  42. #define kAlertStdAlertOtherButton         3
  43. #define kAlertStdAlertHelpButton         4
  44.  
  45.                                                             /*  Dialog Flags for use in NewFeaturesDialog or dlgx resource  */
  46. #define kDialogFlagsUseThemeBackground     0x01
  47. #define kDialogFlagsUseControlHierarchy  0x02
  48. #define kDialogFlagsHandleMovableModal     0x04
  49. #define kDialogFlagsUseThemeControls     0x08
  50.  
  51.                                                             /*  Alert Flags for use in alrx resource  */
  52. #define kAlertFlagsUseThemeBackground     0x01
  53. #define kAlertFlagsUseControlHierarchy     0x02
  54. #define kAlertFlagsAlertIsMovable         0x04
  55. #define kAlertFlagsUseThemeControls     0x08
  56.  
  57. #define kDialogFontNoFontStyle             0
  58. #define kDialogFontUseFontMask             0x0001
  59. #define kDialogFontUseFaceMask             0x0002
  60. #define kDialogFontUseSizeMask             0x0004
  61. #define kDialogFontUseForeColorMask     0x0008
  62. #define kDialogFontUseBackColorMask     0x0010
  63. #define kDialogFontUseModeMask             0x0020
  64. #define kDialogFontUseJustMask             0x0040
  65. #define kDialogFontUseAllMask             0x00FF
  66. #define kDialogFontAddFontSizeMask         0x0100
  67. #define kDialogFontUseFontNameMask         0x0200
  68.  
  69.  
  70. /*----------------------------wctb • Alert Color Lookup Table--------------------------*/
  71. type 'actb' as 'wctb';
  72.  
  73.  
  74. /*----------------------------ALRT • Alert Template-------------------------------------*/
  75. /*
  76.     ALRT_RezTemplateVersion:
  77.         0 - original                             <-- default
  78.         1 - additional positioning info at end    
  79. */
  80. #ifndef ALRT_RezTemplateVersion
  81.     #define ALRT_RezTemplateVersion 1
  82. #endif
  83.  
  84.  
  85. type 'ALRT' {
  86.         rect;                                                    /* boundsRect            */
  87.         integer;                                                /* 'DITL' ID            */
  88.  
  89.         /* NOTE: the stages are ordered 4, 3, 2, 1 */
  90.         wide array [4] {
  91.                 boolean                 OK, Cancel;             /* Bold Outline         */
  92.                 boolean                 invisible, visible;     /* Draw Alert            */
  93.                 unsigned bitstring[2]    silent = 0
  94.                                 sound1, sound2, sound3;         /* Beeps                */
  95.         };
  96.  
  97. #if ALRT_RezTemplateVersion == 1
  98.     /*    The following are alert positioning options used by System 7.0 and later */
  99.         unsigned integer                noAutoCenter = 0x0000,
  100.                                         centerMainScreen = 0x280a,
  101.                                         alertPositionMainScreen = 0x300a,
  102.                                         staggerMainScreen = 0x380a,
  103.                                         centerParentWindow = 0xa80a,
  104.                                         alertPositionParentWindow = 0xb00a,
  105.                                         staggerParentWindow = 0xb80a,
  106.                                         centerParentWindowScreen = 0x680a,
  107.                                         alertPositionParentWindowScreen = 0x700a,
  108.                                         staggerParentWindowScreen = 0x780a;
  109. #endif
  110. };
  111.  
  112. /* stages for ALRT */
  113. #define silentStage OK, visible, silent
  114. #define silentStages { silentStage; silentStage; silentStage; silentStage; }
  115.  
  116. #define beepStage OK, visible, sound1
  117. #define beepStages { beepStage; beepStage; beepStage; beepStage; }
  118.  
  119.  
  120. /*----------------------------dctb • Dialog Color Lookup Table--------------------------*/
  121. type 'dctb' as 'wctb';
  122.  
  123.  
  124. /*----------------------------DITL • Dialog Item List-----------------------------------*/
  125. type 'DITL' {
  126.         integer = $$CountOf(DITLarray) - 1;                     /* Array size            */
  127.         wide array DITLarray {
  128.                 fill long;
  129.                 rect;                                            /* Item bounds            */
  130.                 switch {
  131.  
  132.                 case HelpItem:                                    /* Help Mgr type item */
  133.                         boolean         enabled,disabled;        /* Enable flag            */
  134.                         key bitstring[7] = 1;                    /* this is a new type = 1 */
  135.  
  136.                         switch {
  137.                             case HMScanhdlg:
  138.                                 byte = 4;                        /* sizeola                */
  139.                                 key int = 1;                    /* key value             */
  140.                                 integer;                        /* resource ID            */
  141.  
  142.                             case HMScanhrct:
  143.                                 byte = 4;                        /* sizeola                */
  144.                                 key int = 2;                    /* key value             */
  145.                                 integer;                        /* resource ID            */
  146.  
  147.                             case HMScanAppendhdlg:
  148.                                 byte = 6;                        /* sizeola                */
  149.                                 key int = 8;                    /* key value             */
  150.                                 integer;                        /* resource ID            */
  151.                                 integer;                        /* offset (zero based)    */
  152.                         };
  153.  
  154.  
  155.                 case Button:
  156.                         boolean         enabled,disabled;        /* Enable flag            */
  157.                         key bitstring[7] = 4;
  158.                         pstring;                                /* Title                */
  159.  
  160.                 case CheckBox:
  161.                         boolean         enabled,disabled;        /* Enable flag            */
  162.                         key bitstring[7] = 5;
  163.                         pstring;                                /* Title                */
  164.  
  165.                 case RadioButton:
  166.                         boolean         enabled,disabled;        /* Enable flag            */
  167.                         key bitstring[7] = 6;
  168.                         pstring;                                /* Title                */
  169.  
  170.                 case Control:
  171.                         boolean         enabled,disabled;        /* Enable flag            */
  172.                         key bitstring[7] = 7;
  173.                         byte = 2;
  174.                         integer;                                /* 'CTRL' ID            */
  175.  
  176.                 case StaticText:
  177.                         boolean         enabled,disabled;        /* Enable flag            */
  178.                         key bitstring[7] = 8;
  179.                         pstring;                                /* Text                 */
  180.  
  181.                 case EditText:
  182.                         boolean         enabled,disabled;        /* Enable flag            */
  183.                         key bitstring[7] = 16;
  184.                         pstring;                                /* Text                 */
  185.  
  186.                 case Icon:
  187.                         boolean         enabled,disabled;        /* Enable flag            */
  188.                         key bitstring[7] = 32;
  189.                         byte = 2;
  190.                         integer;                                /* 'ICON' ID            */
  191.  
  192.                 case Picture:
  193.                         boolean         enabled,disabled;        /* Enable flag            */
  194.                         key bitstring[7] = 64;
  195.                         byte = 2;
  196.                         integer;                                /* 'PICT' ID            */
  197.  
  198.                 case UserItem:
  199.                         boolean         enabled,disabled;        /* Enable flag            */
  200.                         key bitstring[7] = 0;
  201.                         byte = 0;
  202.                 };
  203.                 align word;
  204.         };
  205. };
  206.  
  207.  
  208. /*----------------------------DLOG • Dialog Template------------------------------------*/
  209. /*
  210.     DLOG_RezTemplateVersion:
  211.         0 - original                             <-- default
  212.         1 - additional positioning info at end    
  213. */
  214. #ifndef DLOG_RezTemplateVersion
  215.     #define DLOG_RezTemplateVersion 1
  216. #endif
  217.  
  218.  
  219. type 'DLOG' {
  220.         rect;                                                    /* boundsRect            */
  221.         integer         documentProc,                            /* procID                */
  222.                         dBoxProc,
  223.                         plainDBox,
  224.                         altDBoxProc,
  225.                         noGrowDocProc,
  226.                         movableDBoxProc,
  227.                         zoomDocProc = 8,
  228.                         zoomNoGrow = 12,
  229.                         rDocProc = 16;
  230.         byte            invisible, visible;                     /* visible                */
  231.         fill byte;
  232.         byte            noGoAway, goAway;                        /* goAway                */
  233.         fill byte;
  234.         unsigned hex longint;                                    /* refCon                */
  235.         integer;                                                /* 'DITL' ID            */
  236.         pstring;                                                /* title                */
  237. #if DLOG_RezTemplateVersion == 1
  238.     /*    The following are window positioning options used by System 7.0 and later */
  239.         align word;
  240.         unsigned integer                noAutoCenter = 0x0000,
  241.                                         centerMainScreen = 0x280a,
  242.                                         alertPositionMainScreen = 0x300a,
  243.                                         staggerMainScreen = 0x380a,
  244.                                         centerParentWindow = 0xa80a,
  245.                                         alertPositionParentWindow = 0xb00a,
  246.                                         staggerParentWindow = 0xb80a,
  247.                                         centerParentWindowScreen = 0x680a,
  248.                                         alertPositionParentWindowScreen = 0x700a,
  249.                                         staggerParentWindowScreen = 0x780a;
  250. #endif
  251. };
  252.  
  253.  
  254.  
  255. /*----------------------------alrx • Extended Alert Template---------------------------*/
  256. type 'alrx'
  257. {
  258.     switch
  259.     {
  260.         case versionZero:
  261.             key integer=0;
  262.  
  263.             unsigned longint;                /* flags */
  264.             longint;                        /* refCon */
  265.             byte        kUseClassicWindow,
  266.                         kUseThemeWindow;    /* Window type */
  267.             fill byte;                        /* filler */
  268.             fill long;                        /* filler */
  269.             fill long;                        /* filler */
  270.             fill long;                        /* filler */
  271.             fill long;                        /* filler */
  272.             pstring;                        /* title (movable only) */
  273.             
  274.         case versionOne:
  275.             key integer=1;
  276.  
  277.             unsigned longint;                /* flags */
  278.             longint;                        /* refCon */
  279.             byte        kUseClassicWindow,
  280.                         kUseThemeWindow;    /* Window type */
  281.             fill byte;                        /* filler */
  282.             pstring;                        /* title (movable only) */
  283.     };
  284. };
  285.  
  286.  
  287. /*----------------------------dlgx • Extended Dialog Template---------------------------*/
  288. type 'dlgx'
  289. {
  290.     switch
  291.     {
  292.         case versionZero:
  293.             key integer=0;
  294.  
  295.             unsigned longint;                /* flags */
  296.     };
  297. };
  298.  
  299.  
  300. /*-----------------------------dftb • Dialog Control Font Table--------------------------*/
  301. type 'dftb'
  302. {
  303.     switch
  304.     {
  305.         case versionZero:
  306.             key integer = 0;    /* version */
  307.  
  308.             integer = $$Countof(FontStyle);
  309.             array FontStyle
  310.             {
  311.                 switch
  312.                 {
  313.                     case skipItem:
  314.                         key integer=0;
  315.                         
  316.                     case dataItem:
  317.                         key integer=1;integer;                                /* Flags        */
  318.                         integer;                                            /* Font ID        */
  319.                         integer;                                            /* Font Size    */
  320.                         integer;                                            /* Font Style    */
  321.                         integer;                                            /* Text Mode    */
  322.                         integer;                                            /* Justification */
  323.  
  324.                         unsigned integer;                                    /* ForeColor:    red        */
  325.                         unsigned integer;                                    /*                green    */
  326.                         unsigned integer;                                    /*                blue    */
  327.  
  328.                         unsigned integer;                                    /* BackColor:    red        */
  329.                         unsigned integer;                                    /*                green    */
  330.                         unsigned integer;                                    /*                blue    */
  331.  
  332.                         pstring;                                            /* Font Name */
  333.                 };
  334.             };
  335.     };
  336. };
  337.  
  338.  
  339. #endif /* __DIALOGS_R__ */
  340.  
  341.